package com.nmmedit.jna_android;

import android.content.Context;

import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;

import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.*;

import com.sun.jna.Library;
import com.sun.jna.Native;

/**
 * Instrumented test, which will execute on an Android device.
 *
 * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
 */
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
    @Test
    public void useAppContext() {
        // Context of the app under test.
        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
        assertEquals("com.nmmedit.jna_android.test", appContext.getPackageName());
    }

    public interface CLibrary extends Library {
        CLibrary INSTANCE = Native.load(("c"), CLibrary.class);

        void printf(String format, Object... args);
        int strlen(String str);
    }

    @Test
    public void testPrint(){

        CLibrary.INSTANCE.printf("Hello, World\n");
        final int abc = CLibrary.INSTANCE.strlen("abc");
        System.out.println(abc);
    }

}